package com.class04.requestmapping1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @ClassDescription:
 * @JdkVersion: 17
 * @Author: yxy
 * @Created: 2023/12/4 8:20
 */
@Controller
@RequestMapping("user")
public class UserController {
    /**
     * handler -> handlerMapping指定访问地址
     * @WebFilter/@WebServlet("必须使用/开头")
     * @RquestMapping(不要必须使用/开头)
     * user/login
     * 1.精准地址[一个 | 多个]
     * user/login   {“地址1”,"地址2"}
     * 2.支持模糊 * 任意一层字符串
     * | ** 任意层任意字符串
     * user/* -> user/a  user/ajgjg 可以
     * user/a/b  不可以
     * user/** ->user/a 可以  user/a/d/b/c/c/s
     * 3、类上和方法上添加@RequestMapping的区别
     * 类上提取通用的访问地址
     * 方法上是具体的handler地址
     * 访问地址：类地址+方法地址即可
     * 4.请求方式指定
     * 客户端 -> http(get|post|put|delete)->ds->handler
     * 默认情况：
     * @RequestMapping("login")主要地址正确，任何请求方式都可以访问
     * 指定请求方式：method = {RequestMethod.GET,RequestMethod.POST}
     * 不符合请求方式：会出现405异常
     * 5.进阶注解  只能使用在方法上
     * get    @GetMapping == RequestMapping(xxx,method=RequestMethod.GET);
     * post    @PostMapping == RequestMapping(xxx,method=RequestMethod.POST);
     * put    @PutMapping == RequestMapping(xxx,method=RequestMethod.PUT);
     * delete    @GetMapping == RequestMapping(xxx,method=RequestMethod.DELETE);
     * @return
     */
//    @RequestMapping("*")

//    @GetMapping("**")
//    @ResponseBody
//    public String index(){
//        return "hello user";
//    }
    @RequestMapping(value = "/a" ,method = RequestMethod.POST)
    @ResponseBody
    public String inden(){
        return "hello user111111111111";
    }
//    @RequestMapping(value = "login" ,method = {RequestMethod.POST,RequestMethod.GET})
//    作用注册地址  将handler注册到handlerMapping
    public String login(){
        return "jsjjgjjs";
    }

        @RequestMapping(value = "register" ,method = {RequestMethod.POST,RequestMethod.GET})
//    作用注册地址  将handler注册到handlerMapping
    public String register(){
        return "jsjjgjjs";
    }
}
